package cn.jolywood.cloud.module.crm.dal.dataobject.obtainguest;

import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;

import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.jolywood.cloud.framework.mybatis.core.dataobject.BaseDO;

/**
 * 订单获客主 DO
 *
 * @author 超级管理员
 */
@TableName(value = "crm_obtain_guest", autoResultMap = true)
@KeySequence("crm_obtain_guest_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ObtainGuestDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Integer id;
    /**
     * 获客编号
     */
    private String obtainGuestNo;
    /**
     * 客户类型(0：个人；1：企业)
     */
    private Integer clientType;
    /**
     * 客户名称/单位名称
     */
    private String clientName;
    /**
     * 身份证号/企业税号
     */
    private String taxNumber;
    /**
     * 客户联系方式
     */
    private String clientPhone;
    /**
     * 业务经理（负责人的id）
     */
    private Long businessManagerId;
    /**
     * 业务经理联系方式
     */
    private String businessManagerPhone;
    /**
     * 付款方式
     */
    private String payType;
    /**
     * 销售类型（0：物料类；1：项目类）
     */
    private Integer sellType;
    /**
     * 合同类型（0：标准合同；1：非标准合同）
     */
    private Integer contractType;
    /**
     * 产品类型（0：标准产品；1：非标准产品）
     */
    private Integer productType;
    /**
     * 客户地址
     */
    private Integer clientAreaId;
    /**
     * 客户详情地址
     */
    private String clientDetailAddress;
    /**
     * 备注
     */
    private String remark;

    //附件urls
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<String> attachmentUrls;

    //所属大区
    private Integer belongArea;

    //状态
    private Integer state;

}
